package com.koron.operation.classes.form.bean.po;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.koron.bean.annocation.FillField;
import com.koron.bean.base.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 月度排班表(ClassesForm)表实体类
 *
 * @author jzp
 * @since 2023-05-17
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "月度排班表", description = "ClassesForm")
public class ClassesForm extends BaseBean {

    /**
     * 排班方案名称
     */
    @ApiModelProperty("排班方案名称")
    private String name;

    /**
     * 班别方案id
     */
    @ApiModelProperty("班别方案id")
    private String classesId;

    /**
     * 班别方案名称
     */
    @ApiModelProperty("班别方案名称")
    private String classesName;

    /**
     * 值班人员类型id
     * 这个应该用不到，具体数据是存在ClassesRank
     */
    @ApiModelProperty("值班人员类型id")
    private String rankId;

    /**
     * 值班人员类型名称
     * 用不到，参上
     */
    @ApiModelProperty("值班人员类型名称")
    private String rankName;

    /**
     * 值班单位id
     */
    @FillField(alias = "orgId")
    @ApiModelProperty("值班单位id")
    private String deptId;

    /**
     * 值班单位名称
     */
    @FillField(alias = "orgName")
    @ApiModelProperty("值班单位名称")
    private String deptName;

    /**
     * 排班月份
     */
    @JSONField(format="yyyy-MM")
    @DateTimeFormat(pattern = "yyyy-MM")
    @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
    @ApiModelProperty("排班月份, yyyy-MM")
    private Date shiftTime;

    /**
     * 状态，0 1 2
     */
    @ApiModelProperty("状态，0 1 2")
    private String status;

}
